1. Field of the Invention
The invention relates generally to the field of electronic device network synchronization. More particularly, the invention relates to a method and apparatus to synchronize mobile network devices to a central repository when connections with the central repository are not consistent and to synchronize mobile network devices to peers in their proximity.
2. Description of the Related Art
Synchronization can be viewed as a process of making two data sets equivalent. Synchronization is important with mobile computing and communications. Synchronization provides the capability to use applications and information on one mobile device, then to merge any updates with the applications and information back at the office, on the network, or on other mobile devices. Synchronizing makes the data on all the multiple devices and servers the same.
Presently, there are two primary approaches to synchronization. In server-based synchronization, the mobile device is able to sync-up only through a central server. In this case, a central server is a neutral storage location and different mobile devices connect to the server to update information and data. This approach puts several limitations on synchronization capabilities. For devices to stay synchronized, they must attach to the server independently. Devices are unable to link directly despite the fact that they may be in close proximity to one another. If the server is unreachable or unavailable, synchronization is not possible. Advantages of this approach are that there is a single reliable source of the best data. Many offices already maintain a server to perform the same function for the wired network so cost and change is minimized. This approach also gives more flexibility for the IT staff that maintains and manages the network.
In a second approach, client-based synchronization, the clients route the synchronization information through the network until the desired recipient is found. This creates a mesh of interconnected systems with no dependency on servers. This reduces the overhead associated with maintaining a server while allowing any device to still have access to data. Because each device talks directly with any other device in the system, there are many more communication channels available. This reduces the dependency on the one connection to the one server increasing the robustness of the system and increasing the opportunities to synchronize when devices are occasionally out of touch with the server but near each other. For systems that are not already server-based, eliminating the server also reduces costs. On the other hand, there is no central database of information to backup. There is very little IT control and there is no revision or copy control. For example, a file can be copied from one client to another. This can be modified and then passed on to another client, resulting in multiple versions of the same file. Similarly two files can be named the same but contain completely different information.